package main

import (
	"fmt"
	"os"
)

// 标准输出
func standardOutput() {
	fmt.Print("hello world\n")            //普通输出
	fmt.Println("hello world")            //换行输出, 结尾输出换行符（多个参数多个换行符）
	fmt.Printf("你好：%s \n", "hello world") //格式化输出
}

// 输出到io.Writer
func ioWriterOutput() {
	file, _ := os.OpenFile("demo.txt", os.O_WRONLY, 0666)

	_, _ = fmt.Fprint(file, "1111")
	_, _ = fmt.Fprintln(file, "2222")
	_, _ = fmt.Fprintf(file, "name : %s\n", "dong")
}

// SprintUse 输入并返回字符串
func SprintUse() {
	s1 := fmt.Sprint("dong")
	s2 := fmt.Sprintln("xi")
	s3 := fmt.Sprintf("my name is %s", "nan")
	fmt.Print(s1, s2, s3)
}

// ErrorUse 自定义错误类型
func ErrorUse() {
	err := fmt.Errorf("自定义错误")
	fmt.Println(err)
}

func main() {
	//standardOutput()
	//ioWriterOutput()
	//SprintUse()
	ErrorUse()
}
